//Hung Nguyen 
//Jeremy Sardoma
//Matthew Alcazar
# include <stdio.h>  
# include <GL\glut.h>
# include <Windows.h>
# include <math.h>


class Vector{
public:
	GLdouble x;
	GLdouble y;
	GLdouble z;

	Vector(){
		x=0;
		y=0;
		z=0;
	}
	Vector(float a, float b, float c)
	{
		x=a;
		y=b;
		z=c;
	}

	Vector subtract(Vector target){
		return Vector(x-target.x,y-target.y,z-target.z);
	}
	
	Vector cross(Vector target){
		return Vector(y*target.z-z*target.y,target.x*z-target.z*x,x*target.y-y*target.x);
	}

	float dot(Vector target)
	{
		return (x*target.x+y*target.y+z*target.z);
	}
	
	float magnitude(){
		return sqrt(x*x+y*y+z*z);
	}

		
};